using Microsoft.Xna.Framework;

namespace MechGame.Game.Leveling
{
    struct LevelChangeInformation
    {
        public string NewLevel { get; private set; }
        public StartUpFrom From { get; private set; }
        public Vector2 Position { get; private set; }

        public static readonly LevelChangeInformation Empty = new LevelChangeInformation { NewLevel = null, From = StartUpFrom.None };

        public static LevelChangeInformation FromSavePoint(string levelAsset)
        {
            return new LevelChangeInformation { NewLevel = levelAsset, From = StartUpFrom.SavePoint };
        }

        public static LevelChangeInformation FromGate(string levelAsset, Vector2 position)
        {
            return new LevelChangeInformation { NewLevel = levelAsset, From = StartUpFrom.Door, Position = position};
        }
    }
}